import time
from public.action import *
from public.business import *
from public.testData import *
from public.tools import*



testCase="DBshop002_余额支付流程"

"""
用例标题：购物流程-余额支付
用例作者：雷琼
步骤：
1.在首页搜索"小米",点击搜索按钮
2.选择小米mix3,加入到购物车,点击购物车按钮
3.点击"去结算"按钮
4.默认地址已经别选择,点击下一步按钮
5.支付方式选择"余额支付",点击确认订单 
6.点击马上支付，支付成功。
7.登录后台管理系统,地址是"http://localhost/dbshop/admin",
8.点击商品管理订单管理，找到刚才前台提交的订单，点击“编辑查看”。
9.点击发货操作按钮，编辑快递单号“1000000000” 发货说明“保证正品”，点击“点击发货”按钮。
10.进入前台我的订单—已发货，点击“确认收货”按钮，完成订单。
11.到dbshop前台查看我的订单"交易完成"中,检查上面的订单状态
"""
# 1.在首页搜索"小米",点击搜索按钮
# 打开网页,登录
firefox=openBrowser(url)
DBshopLogin(firefox,userName,password)
# 搜索框输入“小米”，点击搜索
firefox.find_element_by_xpath("//input[@name='keywords']").send_keys("小米")
firefox.find_element_by_xpath("//input[@type='submit']").click()
# 点击小米手机图片
firefox.find_element_by_link_text("小米Mix3 全网通版 8GB+128GB 黑色 磁动力滑盖全面屏").click()
# 跳转到新页面操作
switchWindow(firefox,2)
# 点击加入购物车
firefox.find_element_by_id("add_cart_submit").click()
# 点击去购物车结算
firefox.find_element_by_link_text("去购物车结算").click()
firefox.find_element_by_link_text("去结算").click()
firefox.find_element_by_xpath("//input[@value='下一步']").click()
# 点击余额支付图片
firefox.find_element_by_xpath("//img[@src='/dbshop/public/img/payment/yezf.gif']").click()
# 点击确认订单
firefox.find_element_by_xpath("//input[@value='确认订单']").click()
# 保存订单号
orderID=firefox.find_element_by_xpath("(//font[@color='color:#ED145B'])[2]").text
# 将订单编号写入到文件中
rootPath=get_pro_rootpath()
writeFile(rootPath+'\public\order2.txt',orderID)
print(orderID)
# 点击马上去支付
firefox.find_element_by_xpath("//input[@value='马上去支付']").click()
# 打开后台管理系统
firefox.get(urlAdmin)
# 登录管理员账号
DBshopLoginAdmin(firefox)
# 点击销售管理-订单管理
DBshopEnterMenu2(firefox,"销售管理","订单管理")
# 在订单号输入刚刚保存的订单
firefox.find_element_by_xpath("(//input[@name='order_sn'])[1]").send_keys(orderID)
# 点击搜索
firefox.find_element_by_xpath("(//button[@class='btn btn-small btn-primary'])[1]").click()
# 点击编辑查看
firefox.find_element_by_link_text("编辑查看").click()
# 点击发货操作
firefox.find_element_by_link_text("发货操作").click()
# 输入快递单号
firefox.find_element_by_xpath("//input[@name='express_number']").send_keys(KDnumber)
firefox.find_element_by_id("state_info").send_keys(goodsmessage)
# 点击发货
firefox.find_element_by_xpath("//button").click()


# 进入网站前台
firefox.get(url)
#点击我的订单
firefox.find_element_by_link_text("我的订单").click()
#点击已发货
firefox.find_element_by_partial_link_text('已发货').click()
#点击确认收货
firefox.find_element_by_xpath("//button[text()='确认收货']").click()
firefox.find_element_by_xpath("//button[contains(text(),'确认收货')]").click()
firefox.switch_to.alert.accept()
# 到dbshop前台查看我的订单"交易完成"中,检查上面的订单状态
#点击交易完成
firefox.find_element_by_partial_link_text('交易完成').click()
# # 输入订单号
# firefox.find_element_by_name('search_order_sn').send_keys(orderID)
# # 点击搜索
# firefox.find_element_by_xpath('//button').click()
#断言
try:
    firefox.find_element_by_link_text(orderID).is_displayed()  #is_displayed()函数判断元素是否显示
    writeLog("%s 测试通过"%testCase)
except:
    writeLog("%s 测试失败" % testCase)
    getPhoto(firefox)
firefox.quit()